package com.kaifamiao.array;

/**
 * 1、实现 java.lang.Comparable 是为了支持 自然排序
 * 2、java.lang.Comparable接口中的 compareTo 方法被称作 自然比较方法
 * 3、在实现 java.lang.Comparable 接口时需要指定比较的类型(通过泛型确定)
 */
public class Panda implements Comparable<Panda>{
	
	protected String name ;
	protected char gender ;
	protected int weight ; // 体重以 克 为单位
	protected int height ; // 身高以 厘米 为单位
	
	public Panda(String name, char gender, int weight, int height) {
		super();
		this.name = name;
		this.gender = gender;
		this.weight = weight;
		this.height = height;
	}

	@Override
	public String toString() {
		return "(" + name + ", " + gender + ", " + weight + ", " + height + ")";
	}

	@Override
	public int compareTo(Panda another) {
		// 比较两个对象时，需要根据具体业务要求来确定比较哪些字段
		// 比如期望根据熊猫的体重从低到高排序，则需要比较两个对象的weight值
		// 如果 当前对对象 小于、等于、大于 另一个对象
		// 则方法分别返回 小于零、等于零、大于零 的整数
		if( this.weight < another.weight ) {
			return -1 ;
		} else if( this.weight == another.weight ) {
			return 0 ;
		} else {
			return 1 ;
		}
	}

}
